package com.silence.springboot.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 用户基础信息表 实体类。
 *
 * @author mybatis-flex-helper automatic generation
 * @since 1.0
 */
@Data
@Accessors(chain = true)
@Schema(name = "用户基础信息表")
@Table(value = "user_base_info")
@EqualsAndHashCode(callSuper = false)
public class UserBaseInfoEntity extends BaseEntity {

    /**
     * 登录ID
     */
    @Schema(description = "登录ID")
    @Column(value = "login_id")
    private Long loginId;

    /**
     * 姓名
     */
    @Schema(description = "姓名")
    @Column(value = "name")
    private String name;

    /**
     * 性别（1：男 2：女）
     */
    @Schema(description = "性别（1：男 2：女）")
    @Column(value = "sex")
    private String sex;

    /**
     * 学号
     */
    @Schema(description = "学号")
    @Column(value = "student_number")
    private String studentNumber;

    /**
     * 年龄
     */
    @Schema(description = "年龄")
    @Column(value = "age")
    private String age;

    /**
     * 学院
     */
    @Schema(description = "学院")
    @Column(value = "college")
    private String college;

    /**
     * 专业
     */
    @Schema(description = "专业")
    @Column(value = "major")
    private String major;

    /**
     * 班级
     */
    @Schema(description = "班级")
    @Column(value = "grade")
    private String grade;

    /**
     * 身份证
     */
    @Schema(description = "身份证")
    @Column(value = "id_card")
    private String idCard;

    /**
     * 入学时间
     */
    @Schema(description = "入学时间")
    @Column(value = "enter_time")
    private LocalDateTime enterTime;

    /**
     * 邮箱
     */
    @Schema(description = "邮箱")
    @Column(value = "email")
    private String email;

    /**
     * 手机号
     */
    @Schema(description = "手机号")
    @Column(value = "phone")
    private String phone;

    /**
     * 出生日期
     */
    @Schema(description = "出生日期")
    @Column(value = "birthday")
    private LocalDateTime birthday;

    /**
     * 地址
     */
    @Schema(description = "地址")
    @Column(value = "address")
    private String address;

    /**
     * 登录标识（1：管理员，2：学生）
     */
    @Schema(description = "登录标识（1：管理员，2：学生）")
    @Column(value = "login_flag")
    private String loginFlag;

    /**
     * token
     */
    @Schema(description = "token")
    @Column(value = "token")
    private String token;

}
